from exts import db
from datetime import datetime

class Staff(db.Model):
    # 员工信息表模型，用于登录验证、填报记录等
    __tablename__ = 'staff'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    staff_name = db.Column(db.String(20), nullable=False)
    # 员工职务信息，需要从职务表关联，开发阶段暂时设置为可空
    staff_duty = db.Column(db.String(30), nullable=True)
    # 员工部门信息，需要从部门表关联，开发阶段暂时设置为可空
    depart = db.Column(db.String(40), nullable=True)
    # 密码在员工信息创建时统一使用123456
    password = db.Column(db.String(100),nullable=False)
    # 员工唯一编号，用于与报销数据关联，暂时设置可空
    staff_num = db.Column(db.String(20), nullable=True)
    # 员工学历信息
    staff_edubg = db.Column(db.String(20), nullable=True)
    # 员工毕业学校
    staff_sch = db.Column(db.String(100), nullable=True)
    # 入职时间
    staff_hiredate = db.Column(db.DateTime, default=datetime.now)

class Depart(db.Model):
    # 部门信息表
    __tablename__ = 'depart'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    depart_name = db.Column(db.String(40), nullable=False)
    # 这里暂时设置一个部门负责人，用于后期权限管理
    depart_header = db.Column(db.String(10), nullable=True)

class Duty(db.Model):
    # 职务信息表
    __tablename__ = 'duty'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    duty_name = db.Column(db.String(100), nullable=False)
    # 加入对职务内容的描述
    duty_desc = db.Column(db.Text)